
#ifndef DESCRIPOTR_H
#define DESCRIPOTR_H

#include "Core.h"

class Descriptor 
{
	public:
		Descriptor(const unsigned char patch[PATCH_SIZE][PATCH_SIZE]);
		inline int mapTheta(float t);
		inline int mapX(float x);
		inline int mapY(float y);
		inline void inc(float x,float y,float th, float g);
		void check();
		inline bool isgood(){return good;}
		void setTopbit();
		void setSketch();
		
		static const float xLow,yLow,thLow,xMul,yMul,thMul;
		static const int MinHashSeq[NUM_SKETCH_PER_DES][SKETCH_SIZE][DES_LEN];

		bool good;
		bool noBitOn;
		char bit[DES_LEN];
		float v[DES_LEN];
		Sketch sketches[NUM_SKETCH_PER_DES];
};

#endif
